<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>minHRep</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">minHRep</h1>
<h2>Purpose</h2>
<p>Compute an irredundant H-representation of a polyhedron.</p>
<h2>Syntax</h2>
<pre class="synopsis">P.minHRep()</pre>
<pre class="synopsis">[P, sol] = P.minHRep()</pre>
<h2>Description</h2>
<p></p>
	  Computes an irredundant H-representation of the polyhedron:
	  <p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep4.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep4.png"></p>

	  Notes:
	  <ul>
	   
         <li> If an H-representation is already known, then this function does redundancy elimination.</li>
       
         <li> Calling <tt>P.minHRep()</tt> will store the irredundant H-representation in <img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep1.png">.</li>
       
         <li> For empty polyhedron <img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep2.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep2.png"> the result remains the same (no redundancy elimination).</li>
    	
      </ul>
	
   <h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>P</tt></td>
<td>
<p></p>Polyhedron in any format<p>
	    		Class: <tt>Polyhedron</tt></p>
</td>
</tr></tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>sol</tt></td>
<td>
<p></p>Irredundant H-representation of <img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep3.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep3.png">
      <p>
	    		Class: <tt>struct</tt><p></p><tr valign="top">
<td><tt>sol.H</tt></td>
<td>
<p></p>Matrix of
		    inequalities <p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep5.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep5.png"></p>
	            
            <p>
	    		Class: <tt>double matrix</tt></p>
</td>
</tr><tr valign="top">
<td><tt>sol.He</tt></td>
<td>
<p></p>Matrix of
		    equalities <p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep6.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep6.png"></p>
	          
            <p>
	    		Class: <tt>double matrix</tt></p>
</td>
</tr><p></p></p>
</td>
</tr></tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3>Create redundant description of a polyhedron:<pre class="programlisting">P = Polyhedron('H', [randn(20,3) ones(20,1)], 'He', [randn(1,3) 0])</pre>
<pre class="programlisting">Polyhedron in R^3 with representations:
    H-rep (redundant)   : Inequalities  20 | Equalities   1
    V-rep               : Unknown (call computeVRep() to compute)
Functions : none
</pre>Remove redundancies:<pre class="programlisting">P.minHRep()</pre>
<pre class="programlisting">Polyhedron in R^3 with representations:
    H-rep (irredundant) : Inequalities   6 | Equalities   1
    V-rep               : Unknown (call computeVRep() to compute)
Functions : none
</pre>Plot the result<pre class="programlisting">plot(P);</pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep_img_1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep_img_1.png" width="60%"></p>The polyhedron P has been permanently changed:<pre class="programlisting">disp(P)</pre>
<pre class="programlisting">  &lt;a href="matlab:help Polyhedron"&gt;Polyhedron&lt;/a&gt; &lt;a href="matlab:help handle"&gt;handle&lt;/a&gt;

  Properties:
    irredundantVRep: 1
    irredundantHRep: 1
            hasHRep: 1
            hasVRep: 1
                  A: [6x3 double]
                  b: [6x1 double]
                 Ae: [1.054537042432 0.942364915344315 -0.463781292098188]
                 be: 0
                  H: [6x4 double]
                 He: [1.054537042432 0.942364915344315 -0.463781292098188 0]
                  R: [0x3 double]
                  V: [6x3 double]
                Dim: 3
               Data: []

  &lt;a href="matlab:methods('Polyhedron')"&gt;Methods&lt;/a&gt;, &lt;a href="matlab:events('Polyhedron')"&gt;Events&lt;/a&gt;, &lt;a href="matlab:superclasses('Polyhedron')"&gt;Superclasses&lt;/a&gt;

</pre>
<h3>Example 
				2</h3>Create vertex representation of a polyhedron:<pre class="programlisting">P = Polyhedron('V', randn(20,3), 'R', -[1 0 0])</pre>
<pre class="programlisting">Polyhedron in R^3 with representations:
    H-rep               : Unknown (call computeHRep() to compute)
    V-rep (redundant)   : Vertices  20 | Rays   1
Functions : none
</pre>Compute inequality representation:<pre class="programlisting">P.minHRep()</pre>
<pre class="programlisting">Polyhedron in R^3 with representations:
    H-rep (irredundant) : Inequalities  18 | Equalities   0
    V-rep (irredundant) : Vertices  10 | Rays   1
Functions : none
</pre>Plot the result<pre class="programlisting">plot(P);</pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep_img_2.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/minhrep_img_2.png" width="60%"></p>
<h2>References</h2>
<p class="citetitle">[1] Fukuda: PolyFaq</p>
<h2>See Also</h2>
<a href="./minvrep.html">minvrep</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="ispointed.html" class="button">&#9664;</a>  </td>
<td align="left">ispointed</td>
<td>  </td>
<td align="right">isneighbor</td>
<td align="right" width="20"><a href="isneighbor.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Colin Neil Jones: EPF Lausanne,    <a href="mailto:colin.jones@epfl.ch">colin.jones@epfl.ch</a></p>
<p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
<p>©  <b>2003-2013</b>     Michal Kvasnica: STU Bratislava,    <a href="mailto:michal.kvasnica@stuba.sk">michal.kvasnica@stuba.sk</a></p>
</body>
</html>
